1. Field of the Invention
This invention relates to database management systems and more particularly relates to high performance on demand database management systems that service a very large database that can be accessed by multiple concurrent users.
2. Description of the Related Art
It is usual for a database management system that services large databases, including multiple databases, to include a temporary object database that is used to track all of the various temporary objects created by various concurrent users. This temporary object database can be configured as an internal table which contains an index to all of the objects in the database. To locate referenced database objects, this temporary object database descriptor includes a unique identifier (ID) or key field. The key field stores a unique value. Each unique value is associated with a unique database object. The key field has a fixed size. Typically, the size is 2 bytes. This allows for up to about 32,000 unique IDs. Unfortunately, due to a high number of objects being managed using a single global temporary object database descriptor, a two byte ID field does not provide a sufficient number of unique IDs. This limits the number of objects, such as temporary tables, that can be defined by the database management system. This normally is not a problem for a single user database because such a user can limit the number of temporary objects created, such as by managing his database requests (one example of a database request is SQL statements).
However, the unique ID size limit becomes a concern, especially if there are many concurrently running applications requiring a large number of such temporary objects because the global database descriptor is the only structure that provides and manages the unique ID required for supporting both internal temporary objects created during database request processing as well as the temporary tables defines by users, such as by using ‘declare’ and ‘create’ statements.
In conventional database management systems, each object has a unique ID within the global database descriptor. In certain implementations, as noted above, with a unique ID limited to two bytes in length, the maximum number of unique IDs can be quickly reached. Particularly, if a database request requires internal temporary tables.
Due to proliferation of large databases and the continued desire to maintain the access speed advantages, there is a long felt need for a computer program product and method to alleviate the problem caused by the limitation on the number of objects that can be referenced by a database descriptor.